Revisiting Parametricity : Inductives and Uniformity of Propositions
نویسندگان
چکیده
We present a new parametricity translation for a significant fragment of Coq. Previous translations of parametrically polymorphic propositions allowed nonuniformity. For example, on related instantiations, a function may return propositions that are logically inequivalent (e.g. T rue and False). We show that uniformity of polymorphic propositions is not achievable in general. Nevertheless, our translation produces proofs that the two propositions are logically equivalent and also that any two proofs of those propositions are related. This is achieved at the cost of potentially requiring more assumptions on the instantiations, requiring them to be isomorphic in the worst case. ▶
منابع مشابه
Revisiting Parametricity: Inductives and Uniformity of Propositions
Reynold’s parametricity theory captures the property that parametrically polymorphic functions behave uniformly: they produce related results on related instantiations. In dependently typed programming languages, such relations and uniformity proofs can be expressed internally, and generated as a program translation. We present a new parametricity translation for a significant fragment of Coq. ...
متن کاملParametricity in an Impredicative Sort
Reynold’s abstraction theorem is now a well-established result for a large class of type systems. We propose here a definition of relational parametricity and a proof of the abstraction theorem in the Calculus of Inductive Constructions (CIC), the underlying formal language of Coq, in which parametricity relations’ codomain is the impredicative sort of propositions. To proceed, we need to refin...
متن کاملTowards Certified Meta-Programming with Typed Template-Coq
Template-Coq is a plugin for Coq, originally implemented by Malecha [17], which provides a reifier for Coq terms and global declarations, as represented in the Coq kernel, as well as a denotation command. Initially, it was developed for the purpose of writing functions on Coq’s AST in Gallina. Recently, it was used in the CertiCoq certified compiler project [4], as its front-end language, to de...
متن کاملRelational Parametricity for Polymorphic Session Types
We introduce a theory of polymorphic concurrent processes, which arises from an interpretation of second-order intuitionistic linear logic propositions as polymorphic session types, in the style of the Girard-Reynolds polymorphic λ-calculus. The interpretation naturally generalizes recent discoveries on the correspondence between linear logic propositions and session types. In our proposed theo...
متن کامل